home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 25 / AACD 25.iso / AACD / Magazine / Online / QMail / source / error_str.c < prev    next >
Encoding:
C/C++ Source or Header  |  1997-04-15  |  5.4 KB  |  277 lines

  1. #include <errno.h>
  2. #include "error.h"
  3.  
  4. #define X(e,s) if (i == e) return s;
  5.  
  6. char *error_str(i)
  7. int i;
  8. {
  9.   X(0,"no error")
  10.   X(error_intr,"interrupted system call")
  11.   X(error_nomem,"out of memory")
  12.   X(error_noent,"file does not exist")
  13.   X(error_txtbsy,"text busy")
  14.   X(error_io,"input/output error")
  15.   X(error_exist,"file already exists")
  16.   X(error_timeout,"timed out")
  17.   X(error_inprogress,"operation in progress")
  18.   X(error_again,"temporary failure")
  19.   X(error_wouldblock,"input/output would block")
  20.   X(error_pipe,"broken pipe")
  21.   X(error_perm,"permission denied")
  22.   X(error_acces,"access denied")
  23. #ifdef ESRCH
  24.   X(ESRCH,"no such process")
  25. #endif
  26. #ifdef ENXIO
  27.   X(ENXIO,"device not configured")
  28. #endif
  29. #ifdef E2BIG
  30.   X(E2BIG,"argument list too long")
  31. #endif
  32. #ifdef ENOEXEC
  33.   X(ENOEXEC,"exec format error")
  34. #endif
  35. #ifdef EBADF
  36.   X(EBADF,"file descriptor not open")
  37. #endif
  38. #ifdef ECHILD
  39.   X(ECHILD,"no child processes")
  40. #endif
  41. #ifdef EDEADLK
  42.   X(EDEADLK,"operation would cause deadlock")
  43. #endif
  44. #ifdef EFAULT
  45.   X(EFAULT,"bad address")
  46. #endif
  47. #ifdef ENOTBLK
  48.   X(ENOTBLK,"not a block device")
  49. #endif
  50. #ifdef EBUSY
  51.   X(EBUSY,"device busy")
  52. #endif
  53. #ifdef EXDEV
  54.   X(EXDEV,"cross-device link")
  55. #endif
  56. #ifdef ENODEV
  57.   X(ENODEV,"device does not support operation")
  58. #endif
  59. #ifdef ENOTDIR
  60.   X(ENOTDIR,"not a directory")
  61. #endif
  62. #ifdef EISDIR
  63.   X(EISDIR,"is a directory")
  64. #endif
  65. #ifdef EINVAL
  66.   X(EINVAL,"invalid argument")
  67. #endif
  68. #ifdef ENFILE
  69.   X(ENFILE,"system cannot open more files")
  70. #endif
  71. #ifdef EMFILE
  72.   X(EMFILE,"process cannot open more files")
  73. #endif
  74. #ifdef ENOTTY
  75.   X(ENOTTY,"not a tty")
  76. #endif
  77. #ifdef EFBIG
  78.   X(EFBIG,"file too big")
  79. #endif
  80. #ifdef ENOSPC
  81.   X(ENOSPC,"out of disk space")
  82. #endif
  83. #ifdef ESPIPE
  84.   X(ESPIPE,"unseekable descriptor")
  85. #endif
  86. #ifdef EROFS
  87.   X(EROFS,"read-only file system")
  88. #endif
  89. #ifdef EMLINK
  90.   X(EMLINK,"too many links")
  91. #endif
  92. #ifdef EDOM
  93.   X(EDOM,"input out of range")
  94. #endif
  95. #ifdef ERANGE
  96.   X(ERANGE,"output out of range")
  97. #endif
  98. #ifdef EALREADY
  99.   X(EALREADY,"operation already in progress")
  100. #endif
  101. #ifdef ENOTSOCK
  102.   X(ENOTSOCK,"not a socket")
  103. #endif
  104. #ifdef EDESTADDRREQ
  105.   X(EDESTADDRREQ,"destination address required")
  106. #endif
  107. #ifdef EMSGSIZE
  108.   X(EMSGSIZE,"message too long")
  109. #endif
  110. #ifdef EPROTOTYPE
  111.   X(EPROTOTYPE,"incorrect protocol type")
  112. #endif
  113. #ifdef ENOPROTOOPT
  114.   X(ENOPROTOOPT,"protocol not available")
  115. #endif
  116. #ifdef EPROTONOSUPPORT
  117.   X(EPROTONOSUPPORT,"protocol not supported")
  118. #endif
  119. #ifdef ESOCKTNOSUPPORT
  120.   X(ESOCKTNOSUPPORT,"socket type not supported")
  121. #endif
  122. #ifdef EOPNOTSUPP
  123.   X(EOPNOTSUPP,"operation not supported")
  124. #endif
  125. #ifdef EPFNOSUPPORT
  126.   X(EPFNOSUPPORT,"protocol family not supported")
  127. #endif
  128. #ifdef EAFNOSUPPORT
  129.   X(EAFNOSUPPORT,"address family not supported")
  130. #endif
  131. #ifdef EADDRINUSE
  132.   X(EADDRINUSE,"address already used")
  133. #endif
  134. #ifdef EADDRNOTAVAIL
  135.   X(EADDRNOTAVAIL,"address not available")
  136. #endif
  137. #ifdef ENETDOWN
  138.   X(ENETDOWN,"network down")
  139. #endif
  140. #ifdef ENETUNREACH
  141.   X(ENETUNREACH,"network unreachable")
  142. #endif
  143. #ifdef ENETRESET
  144.   X(ENETRESET,"network reset")
  145. #endif
  146. #ifdef ECONNABORTED
  147.   X(ECONNABORTED,"connection aborted")
  148. #endif
  149. #ifdef ECONNRESET
  150.   X(ECONNRESET,"connection reset")
  151. #endif
  152. #ifdef ENOBUFS
  153.   X(ENOBUFS,"out of buffer space")
  154. #endif
  155. #ifdef EISCONN
  156.   X(EISCONN,"already connected")
  157. #endif
  158. #ifdef ENOTCONN
  159.   X(ENOTCONN,"not connected")
  160. #endif
  161. #ifdef ESHUTDOWN
  162.   X(ESHUTDOWN,"socket shut down")
  163. #endif
  164. #ifdef ETOOMANYREFS
  165.   X(ETOOMANYREFS,"too many references")
  166. #endif
  167. #ifdef ECONNREFUSED
  168.   X(ECONNREFUSED,"connection refused")
  169. #endif
  170. #ifdef ELOOP
  171.   X(ELOOP,"symbolic link loop")
  172. #endif
  173. #ifdef ENAMETOOLONG
  174.   X(ENAMETOOLONG,"file name too long")
  175. #endif
  176. #ifdef EHOSTDOWN
  177.   X(EHOSTDOWN,"host down")
  178. #endif
  179. #ifdef EHOSTUNREACH
  180.   X(EHOSTUNREACH,"host unreachable")
  181. #endif
  182. #ifdef ENOTEMPTY
  183.   X(ENOTEMPTY,"directory not empty")
  184. #endif
  185. #ifdef EPROCLIM
  186.   X(EPROCLIM,"too many processes")
  187. #endif
  188. #ifdef EUSERS
  189.   X(EUSERS,"too many users")
  190. #endif
  191. #ifdef EDQUOT
  192.   X(EDQUOT,"disk quota exceeded")
  193. #endif
  194. #ifdef ESTALE
  195.   X(ESTALE,"stale NFS file handle")
  196. #endif
  197. #ifdef EREMOTE
  198.   X(EREMOTE,"too many levels of remote in path")
  199. #endif
  200. #ifdef EBADRPC
  201.   X(EBADRPC,"RPC structure is bad")
  202. #endif
  203. #ifdef ERPCMISMATCH
  204.   X(ERPCMISMATCH,"RPC version mismatch")
  205. #endif
  206. #ifdef EPROGUNAVAIL
  207.   X(EPROGUNAVAIL,"RPC program unavailable")
  208. #endif
  209. #ifdef EPROGMISMATCH
  210.   X(EPROGMISMATCH,"program version mismatch")
  211. #endif
  212. #ifdef EPROCUNAVAIL
  213.   X(EPROCUNAVAIL,"bad procedure for program")
  214. #endif
  215. #ifdef ENOLCK
  216.   X(ENOLCK,"no locks available")
  217. #endif
  218. #ifdef ENOSYS
  219.   X(ENOSYS,"system call not available")
  220. #endif
  221. #ifdef EFTYPE
  222.   X(EFTYPE,"bad file type")
  223. #endif
  224. #ifdef EAUTH
  225.   X(EAUTH,"authentication error")
  226. #endif
  227. #ifdef ENEEDAUTH
  228.   X(ENEEDAUTH,"not authenticated")
  229. #endif
  230. #ifdef ENOSTR
  231.   X(ENOSTR,"not a stream device")
  232. #endif
  233. #ifdef ETIME
  234.   X(ETIME,"timer expired")
  235. #endif
  236. #ifdef ENOSR
  237.   X(ENOSR,"out of stream resources")
  238. #endif
  239. #ifdef ENOMSG
  240.   X(ENOMSG,"no message of desired type")
  241. #endif
  242. #ifdef EBADMSG
  243.   X(EBADMSG,"bad message type")
  244. #endif
  245. #ifdef EIDRM
  246.   X(EIDRM,"identifier removed")
  247. #endif
  248. #ifdef ENONET
  249.   X(ENONET,"machine not on network")
  250. #endif
  251. #ifdef ERREMOTE
  252.   X(ERREMOTE,"object not local")
  253. #endif
  254. #ifdef ENOLINK
  255.   X(ENOLINK,"link severed")
  256. #endif
  257. #ifdef EADV
  258.   X(EADV,"advertise error")
  259. #endif
  260. #ifdef ESRMNT
  261.   X(ESRMNT,"srmount error")
  262. #endif
  263. #ifdef ECOMM
  264.   X(ECOMM,"communication error")
  265. #endif
  266. #ifdef EPROTO
  267.   X(EPROTO,"protocol error")
  268. #endif
  269. #ifdef EMULTIHOP
  270.   X(EMULTIHOP,"multihop attempted")
  271. #endif
  272. #ifdef EREMCHG
  273.   X(EREMCHG,"remote address changed")
  274. #endif
  275.   return "unknown error";
  276. }
  277.